﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;


namespace SIF_2.DataLayer
{
    class DetalleFactura
    {
       public ContabilidadEntities ObjContext = new ContabilidadEntities();
 
        public int IdFactura {get;set;}
        public string IdProducto {get;set;}  
        public decimal Importe {get;set;} 
        public int Cantidad {get;set;}

        public DetalleFactura(int pIdFactura, string pIdProducto, decimal pImporte, int pCantidad)
        {
            IdFactura = pIdFactura;
            IdProducto = pIdProducto;
            Importe = pImporte;
            Cantidad = pCantidad;
        }

        public DetalleFactura() { }

                    

        public static void addDetalles(IEnumerable<DetalleFactura>pDetalles)
        {
            List<string> Value = new List<string>();
            
           
            string sql = "INSERT INTO DetalleFacturas "
                        + "(IdFactura,IdProducto, Cantidad, Importe) Values ({0},'{1}',{2},{3})";
            string Insert = string.Empty ;
                    
                  
            foreach (var detalle in pDetalles)
            {
                Value.Add(String.Format(sql, detalle.IdFactura ,detalle.IdProducto,detalle.Cantidad, detalle.Importe ));
                
            }

            foreach (var item in Value)
            {
                Insert += " " + item;
                
                
            }
            ContabilidadEntities ObjContext = new ContabilidadEntities();
            var query = ObjContext.CreateQuery<DetalleFacturas>(Insert);
            ObjContext.ExecuteStoreCommand(Insert);

           
        }

        public IEnumerable<DetalleFacturas> getDetalles(int id)
        {


            var Detalles = (from d in ObjContext.DetalleFacturas
                            where d.IdFactura == id
                            select d).AsEnumerable();

            return Detalles;

        }

    }
}
